package com.carsys.mapper;

import com.carsys.entity.SUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SUserMapper {

    /**
     *  根据电话 密码查找用户
     * @param tel
     * @param password
     * @return  SUser
     */
    public SUser findSUserByTelAndPassword(@Param("tel") String tel, @Param("password") String password);

    /**
     * 根据电话查询用户
     * @param tel 用户电话
     * @return 用户实体
     */
    public SUser findSUserByTel(String tel);

    /**
     *  添加用户
     * @param user
     * @return  如果为0表示 添加失败,为1 表示添加成功
     */
    public int insertSUser(SUser user);


    /**
     *  根据电话 邮箱查找用户
     * @param tel
     * @param email
     * @return
     */
    public SUser findSUserByTelAndEmail(@Param("tel")String tel,@Param("email")String email);


    /**
     *      优化 动态sql 查找用户
     * @param user
     * @return
     */
    public SUser findOne(SUser user);

    /**
     *  查找用户列表
     * @return
     */
    public List<SUser> findAllUser(int identity);

    /**
     *  修改用户
     * @param user
     * @return
     */
    public int updateUser(SUser user);

    /**
     * 修改用户权限
     * @param id
     * @param identity
     * @return
     */
    public int updateIdentityById(@Param("id")int id,@Param("identity")int identity);

    /**
     *  根据id 删除用户
     * @param id
     * @return
     */
    public int deleteUserById(int id);

    /**
     * 通过用户id修改用户密码
     * @param id 用户id
     * @param password 修改后的密码
     * @return 返回1或0
     */
    int updateSUserPasswordById(@Param("id") int id,@Param("password") String password);

    /**
     * 根据id查询用户
     * @param id 用户id
     * @return 用户实体
     */
    SUser findSUserById(int id);

    /**
     * 根据id更改用户电话
     * @param id 用户id
     * @param tel 更改后用户电话
     * @return 返回1或0
     */
    int updateSUserTelById(@Param("id") int id,@Param("tel") String tel);

    /**
     * 通过用户id修改用户邮箱
     * @param id 用户id
     * @param email 修改后的邮箱
     * @return 返回1或0
     */
    int updateSUserEmailById(@Param("id") int id,@Param("email") String email);




}
